package com.example.cloudsentinel.common;

import com.alibaba.csp.sentinel.slots.block.BlockException;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class CommonException {

    public static String fallback(Integer id, Throwable e) {
        e.printStackTrace();
        log.error("出现业务异常");
        return "===业务异常==";
    }

    public static String handleException(Integer id, BlockException e) {
        e.printStackTrace();
        log.error("触发限流机制");
        return "====触发限流机制==";
    }


    /**
     * 注意 SentinelResource 注解 如果你的方法 无参数  那么就会找 无参数的 有参数的就找 有参数
     * 必须要保证你的 回调异常 和 方法的参数类型 都一样
     * @param e
     * @return
     */
    public static String handleException(BlockException e) {
        e.printStackTrace();
        log.error("触发限流机制");
        return "====触发限流机制==";
    }

    public static String fallback( Throwable e) {
        e.printStackTrace();
        log.error("出现业务异常");
        return "===业务异常==";
    }
}
